home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
tools
/
ivl
/
src
/
dummyc.h
< prev
next >
Wrap
Text File
|
2000-05-17
|
5KB
|
125 lines
#if !defined(DUMMYC_H_HAS_INCLUDED)
#define DUMMYC_H_HAS_INCLUDED
/*
* dummy.x. 汎用ごった煮ライブラリ C版
*
* 1st edition: from Oct.27,1993 by dummy.x.
* restruct: from Jan.28,1994 by dummy.x.
*/
#include <stdio.h>
#include <conio.h>
/* 大域変数宣言 */
/* あまりユーザに使って欲しくないもの */
extern const char _path_separator_envname[]; /* パス区切り文字を切り替える環境変数名 */
/* 関数宣言 */
/* 文字列処理(標準関数の追加/拡張版みたいな) */
/* 比較 */
extern int strnicmp(const char *s1p, const char *s2p, size_t len);
/* 探索 */
extern char *strrpbrk(const char *dstp, const char *srcp);
extern int strchr_lower(const char *strp);
extern int strchr_upper(const char *strp);
extern char *strlast(const char *strp);
extern int strindex(const char *strp, char ch);
/* 複写 */
extern char *strcpy_brk(char *dstp, const char *srcp, const char *brkchrs);
extern char *strncpy_brk(char *dstp, const char *srcp, const char *brkchrs, size_t len);
extern char *strncpy_term(char *const dstp, const char *srcp, size_t len);
extern char *stpcpy(char *dstp, const char *srcp);
extern char *stpncpy(char *dstp, const char *srcp, size_t len);
extern char *stpcpy_brk(char *dstp, const char *srcp, const char *brkchrs);
extern char *stpncpy_brk(char *dstp, const char *srcp, const char *brkchrs, size_t len);
extern char *stpncpy_term(char *dstp, const char *srcp, size_t len);
/* 変換 */
extern char *ultohexstr(char *const bufp, unsigned long num, int keta, char blank, int upperf);
extern char *ultodecstr(char *const bufp, unsigned long num, int keta, char blank);
extern char *ltodecstr(char *const bufp, long num, int keta, unsigned long mojis);
/* 日本語(shiftJIS)考慮 */
extern char *jstrcapitalize(char *strp);
extern int jstrchr_lower(const char *strp);
extern int jstrchr_upper(const char *strp);
/* メモリ列処理 */
extern void *memdup(void *datp, size_t size);
extern void *memzero(void *const memp, size_t size);
/* 偶数(実際は4バイト)境界処理 */
extern void *quadmemzero(void *const memp, size_t size);
extern void *quadmemset(void *const memp, int val, size_t size);
extern void *quadmemcpy(void *dstp, const void *srcp, size_t size);
extern void *quadmemzero_sizelimit(void *const memp, size_t size);
extern void *quadmemset_sizelimit(void *const memp, int val, size_t size);
/* 文字列検査/加工 */
extern int is_option(const char *argp);
extern int is_csym_str(const char *strp);
extern char *skip_white(const char *strp);
extern char *skip_tailed_white(const char *const strp);
extern char *cut_headed_white(char *strp);
extern char *cut_tailed_white(char *const strp);
extern void cut_kaigyo(char *strp);
/* タイトル付きメッセージ表示 */
extern int ttlprintf(const char *form, ...);
extern void set_ttlprintf_values(FILE *fp, const char *pnamep);
/* 状況表示段階制御付きメッセージ表示 */
extern int stsprintf(int lev, const char *form, ...);
extern int stsfprintf(FILE *fp, int lev, const char *form, ...);
extern void set_stsprintf_level(int level);
/* ED.X 形式タグメッセージ表示 */
extern int tagprintf(const char *fnamp, size_t line, const char *formp, ...);
extern void set_tagprintf_values(FILE *fp, int keta);
/* その他諸々 */
/* 画面回り */
extern long set_screen_priority(long prichrs);
extern void clear_text_multi_hlines(int sy, int ey);
extern void clear_text_screen(void);
/* 入力関係 */
extern int is_dbl_click(const int lr, const int tm);
extern void kflush(void);
/* 関数偽名定義 */
#define strncmpi strnicmp
/* 関数偽装マクロ */
/* 1桁の10進数値を1文字の10進数文字に変換 */
#define numtodecchar(num) ((num) + '0')
/* インライン展開関数 */
/* キーバッファをクリアする
*/
static __inline__
void kflush_inline(void)
{
__asm __volatile (
"move.w #-1,-(sp)\n\t"
"dc.w KFLUSH\n\t"
"addq.l #2,sp\n\t"
: /* no outputs */
: /* no inputs */
: "d0"
);
}
#if !defined(UNOPEN_DUMMYC)
/* 関数を inline ものに置き換える */
#define kflush kflush_inline
#endif /* !defined(UNOPEN_DUMMYC) */
#if 0
/* 昔の名前を偽名定義 */
/* errprintf() 関連
* しばらくの間はこれでゴマかす。 */
* 今後コンパイルする全てのソースで、関数名の置き換えを行なっていき、
* 頃合を見計らってこの定義を削除、
* errprintf() という名前に見合った関数を作成する。
* その際は「警告メッセージ表示」warnprintf() も平行して作成予定
*/
#define errprintf ttlprintf
#define set_errprintf_values set_ttlprintf_values
#endif
#endif /* !defined(DUMMYC_H_HAS_INCLUDED) */